Learning Component Interfaces with May and Must Abstractions
نویسندگان
چکیده
Component interfaces are the essence of modular program analysis. In this work, a component interface documents correct sequences of invocations to the component’s public methods. We present an automated framework that extracts finite safe, permissive, and minimal interfaces, from potentially infinite software components. Our proposed framework uses the L* automata-learning algorithm to learn finite interfaces for an infinite-state component. It is based on the observation that an interface permissive with respect to the component’s must abstraction and safe with respect to its may abstraction provides a precise characterization of the legal invocations to the methods of the concrete component. The abstractions are refined automatically from counterexamples obtained during the reachability checks performed by our framework. The use of must abstractions enables us to avoid an exponentially expensive determinization step that is required when working with may abstractions only, and the use of L* guarantees minimality of the generated interface. We have implemented the algorithm in the ARMC tool and report on its application to a number of case studies including several Java2SDK and J2SEE library classes as well as to NASA flight-software
منابع مشابه
Signalling in a Component Based World
To provide ubiquitous access to applications, the QoS and computing requirements of the various components of the application must adapt. In this paper, we argue that the appropriate techniques for prodviding adaptive interfaces is through Open Implementation, in which the abstractions to control behaviour are couched in the language of the component, not some generic QoS definition language. W...
متن کاملAbstractions for AI-Based User Interfaces and Systems
ions for AI-Based User Interfaces and Systems ALEX RENDA, Cornell University HARRISON GOLDSTEIN, Cornell University SARAH BIRD, Facebook CHRIS QUIRK, Microsoft Research ADRIAN SAMPSON, Cornell University Novel user interfaces based on artificial intelligence, such as natural-language agents, present new categories of engineering challenges. These systems need to cope with uncertainty and ambigu...
متن کاملAutomated Assume-Guarantee Reasoning by Abstraction Refinement
Current automated approaches for compositional model checking in the assume-guarantee style are based on learning of assumptions as deterministic automata. We propose an alternative approach based on abstraction refinement. Our new method computes the assumptions for the assume-guarantee rules as conservative and not necessarily deterministic abstractions of some of the components, and refines ...
متن کاملToward Good Abstractions for Lifelong Learning
Lifelong Reinforcement Learning presents a diversity of challenges. Agents must effectively transfer knowledge across tasks while simultaneously addressing exploration, credit assignment, and generalization. Abstraction can help overcome these hurdles by compressing the state space or empowering the action space of a learning agent, thereby reducing the computational and statistical burdens of ...
متن کاملLearning Bayesian Network Structure Using Genetic Algorithm with Consideration of the Node Ordering via Principal Component Analysis
‎The most challenging task in dealing with Bayesian networks is learning their structure‎. ‎Two classical approaches are often used for learning Bayesian network structure;‎ ‎Constraint-Based method and Score-and-Search-Based one‎. ‎But neither the first nor the second one are completely satisfactory‎. ‎Therefore the heuristic search such as Genetic Alg...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010